package com.hutao.manage.mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.hutao.manage.query.MedTraceQuery;

public interface BasicInfoMapper {


	List<Map<String,Object>> getMarriage();
	
	/**
	 * @author lyh
	 * 获取医院集合
	 * @return
	 */
	List<Map<String,Object>> getHospitals();
	
	/***
	 * @author yimr
	 * 
	 * 获取入院方式列表
	 * 
	 */
	List<Map<String,Object>> getInHospitalTypes();
	
	List<Map<String,Object>> getInHospitalTypeByName(String name);
	
	/***
	 * @author yimr
	 * 
	 * 获取出院方式列表
	 * 
	 */
	List<Map<String,Object>> getOutHospitalTypes();
	
	List<Map<String,Object>> getOutHospitalTypeByName(String name);
	
	/***
	 * @author yimr
	 * 
	 * 获取付费方式列表
	 * 
	 */
	List<Map<String,Object>> getMedicalPayType();
	
	/***
	 * @author yimr
	 * 
	 * 获取职业列表
	 * 
	 */
	List<Map<String,Object>> getProfessions();
	
	/**
	 * @author yimr
	 * 
	 *获取国家信息列表
	 * */
	List<Map<String,Object>> getCountrys();
	/***
	 * @author yimr
	 * 
	 * 获取民族信息列表
	 * 
	 */
	List<Map<String,Object>> getNations();
	/***
	 * @author yimr
	 * 
	 * 获取亲属关系列表
	 * 
	 */
	List<Map<String,Object>> getpatientRelations();
	
	
	/***
	 * @author yimr
	 * 
	 * 获取证件信息列表
	 * 
	 */
	List<Map<String,Object>> getIdentityDocumentTypes();
	
	/***
	 * @author yimr
	 * 
	 * 获取入院状况信息
	 * 
	 */
	List<Map<String,Object>> getInHospitalStates();
	
	/***
	 * @author yimr
	 * 
	 * 获取死亡原因信息
	 * 
	 */
	List<Map<String,Object>> getDeathReasons();
	
	
	/***
	 * @author yimr
	 * 
	 * 获取诊断类型信息
	 * 
	 */
	List<Map<String,Object>> getDiagnoseTypes();
	
	
	/***
	 * @author yimr
	 * 
	 * 获取入院病情状态信息
	 * 
	 */
	List<Map<String,Object>> getinHospitalDiseaseStates();
	
	/***
	 * @author yimr
	 * 
	 * 获取治疗结果信息
	 * 
	 */
	List<Map<String,Object>> getTreamentResults();
	
	/***
	 * @author yimr
	 * 
	 * 获取血型信息
	 * 
	 */
	List<Map<String,Object>> getBloodTypes();
	
	/***
	 * @author yimr
	 * 
	 * 获取RH血型信息
	 * 
	 */
	List<Map<String,Object>> getRHBloodTypes();
	
	
	
	 /**
	  * 
	  *@author yimr
     * 获取所有性别 
     * @return
     */
    List<Map<String, Object>>findSex();
    
    /**
     * 依据名字获取性别
     * @param name
     * @return
     */
    List<Map<String, Object>> getSexIdsByName(String name);
    
	 /**
	  *  @author yimr
     * 获取所有科室 
     * @return
     */
    List<Map<String, Object>> getMedicalOffices();
    
    List<Map<String, Object>> getMedicalOfficeByName(String name);
    
	 /**
	  *  @author yimr
    * 根据医院获取科室信息 
    * @return
    */
   List<Map<String, Object>> getMedicalOfficesByHospitalId(Integer hospitalId);
    
	/***
	 * @author yimr
	 * 
	 * 获取切口等级信息
	 * 
	 */
	List<Map<String,Object>> getIncisionLevels();
	
	/***
	 * @author yimr
	 * 
	 * 获取愈合类别信息
	 * 
	 */
	List<Map<String,Object>> getStdCicatrizationTypes();
	
	/***
	 * @author yimr
	 * 
	 * 获取手术操作标识信息
	 * 
	 */
	List<Map<String,Object>> getOperationMarks();
	
	/***
	 * @author yimr
	 * 
	 * 获取手术时间限制信息
	 * 
	 */
	List<Map<String,Object>> getOpsTimeLimits();
	
	/***
	 * @author yimr
	 * 
	 * 获取手术级别信息
	 * 
	 */
	List<Map<String,Object>> getOpsLevels();
	
	/***
	 * @author yimr
	 * 
	 * 获取手术部位信息
	 * 
	 */
	List<Map<String,Object>> getOpsParts();
	
	/***
	 * @author yimr
	 * 
	 * 获取手术感染部位信息
	 * 
	 */
	List<Map<String,Object>> getOpsInfectParts();
	
	/***
	 * @author yimr
	 * 
	 * 获取术后并发症信息
	 * 
	 */
	List<Map<String,Object>> getOpsAfterSyndroms();
	
	/***
	 * @author yimr
	 * 
	 * 获取麻醉分级信息
	 * 
	 */
	List<Map<String,Object>> getAnaesthesiaLevels();
	
	/***
	 * @author yimr
	 * 
	 * 获取麻醉方式信息
	 * 
	 */
	List<Map<String,Object>> getAnaesthesiaWays();
	
	/***
	 * @author yimr
	 * 
	 * 获取术后去向信息
	 * 
	 */
	List<Map<String,Object>> getOpsAfterDirections();
	
	/***
	 * @author yimr
	 * 
	 * 获取风险分级信息
	 * 
	 */
	List<Map<String,Object>> getOpsRiskLevels();
	
	/***
	 * @author yimr
	 * 
	 * 获取手术非预期事件信息
	 * 
	 */
	List<Map<String,Object>> getOpsUnexpectedEvents();
	
	/***
	 * @author yimr
	 * 
	 * 获取胎位信息
	 */
	List<Map<String,Object>> getfetusPositions();
	
	/***
	 * @author yimr
	 * 
	 * 获取分娩信息
	 */
	List<Map<String,Object>> getchildBirths();
	
	/***
	 * @author yimr
	 * 
	 * 获取病原体信息
	 */
	List<Map<String,Object>> getPathogenys();
	
	/***
	 * @author yimr
	 * 
	 * 获取病原体检测标本信息
	 */
	List<Map<String,Object>> getPathogenyExemplars();
	
	/***
	 * @author yimr
	 * 
	 * 获取易感因素信息
	 */
	List<Map<String,Object>> getPredisposingFactors();
	
	/**
	 * 获取示踪类型
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getTreatmentTraceTypes();
	
	/**
	 * 获取再住院目的
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getRehospitalizationAims();
	
	
	/**
	 * 获取再手术目的
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getReoperationAims();
	
	
	/**
	 * 诊断符合情况
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getDiagnosticCoincidenceTypes();
	
	/**
	 * ICU类型
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getICUTypes();
	
	/**
	 * 过敏药物类型
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getDrugAllergyTypes();
	
	/**
	 * 压疮来源
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getPressureSoreCradles();
	
	/**
	 * 压疮分期
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getPressureSorePhases();
	
	/**
	 * 压疮部位
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getPressureSoreParts();
	
	/**
	 * 获取节假日
	 * @author lyh
	 * @return
	 */
	List<Map<String,Object>> getHospitalHolidaysByMedTraceQuery(MedTraceQuery params);
	
	/**
	 * 获取节假日
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	List<Map<String,Object>> getHospitalHolidaysByStartDateAndEndDate(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
	
	
	List<Map<String, Object>> queryDoctorByLikeName(String doctorName);
	
	List<Map<String, Object>> queryDiagnosisSubjectByLikeName(String diagnosisSubjecName);

}